package com.smm.web.vmc.service;

import com.smm.web.vmc.domain.Camera;
import com.smm.web.vmc.dto.CameraDto;

import java.util.List;

/**
 * Created by zhenghao on 2016/9/6.
 *
 */
public interface CameraService {


    List<Camera> getAll();

    Camera getOneById(int cameraId);

    /**
     * 获取指定仓单关联的摄像头列表
     * @param repNo
     * @return
     */
    List<Camera> getAllByReceipt(String repNo);


    /**
     * 获取指定仓库内所有摄像头列表
     * @param warehouseId
     * @return
     */
    List<Camera> getAllByWarehouse(int warehouseId);

    /**
     * 新增摄像头
     * @param cameraDto
     * @throws Exception
     */
    void add(CameraDto cameraDto) throws Exception;

    /**
     * 修改摄像头信息
     * @param cameraDto
     * @throws Exception
     */
    void update(CameraDto cameraDto) throws Exception;

    /**
     * 删除摄像头
     * @param id
     * @throws Exception
     */
    void deleteById(int id) throws Exception;

    /**
     * 摄像头抓拍方法 ,返回抓拍图片访问地址
     * @param camera
     * @return
     */
    String capture(Camera camera) throws Exception;

    /**
     * 获取指定用户可以查看的摄像头列表
     * @param userId
     * @return
     */
    List<Camera> getAllByUser(int userId);

    /**
     * 调用萤石云 api 执行抓拍
     * @param camera
     * @return
     */
    String captureByAPI(Camera camera) throws Exception;
}
